1. Field of the Invention
The present invention relates to a system. More particularly, the present invention relates to an Internet system.
2. Description of the Prior Art
Many business and scientific organizations in the United States which use more than one computer in their operations couple the computers together through a network.
The network permits the computers to be islands of processing which may share resources or data through communication over the network. The data which may be communicated over the network may take the form of programs developed on a user's computer, data file created on a user's computer, electronic mail messages, and other data messages and files which may be generated or modified by a user at a user's computer.
Typically, the user's computer includes an operating system for controlling the resources of the user's computer, including its central processing unit (“CPU”), memory (both volatile and non-volatile memory), and computer peripherals such as printers, modems, and other known computer peripheral devices. The user typically executes application programs and system services to generate data files or programs.
Most computers are coupled to a network through a network communications printed circuit card which is typically resident within each computer system. This communications card typically includes processors, programs, and memory to provide the electrical signals for transmission of data and implement the protocol which standardizes the messages transmitted through a network.
To communicate data from a user's application program or operating system service, a protocol stack is typically implemented between the communication card for the network and the operating system services and application programs. The typical protocol stack used on most open networks is a Transport Control Protocol/Internet Protocol (“TCP/IP”).
The TCP/IP stack includes a transport layer which divides a data stream from an application program or service into segments and which adds a header with a sequence number for each segment.
The TCP segments generated by the transport layer creates a packet having a packet header and a data portion. The data portion contains the TCP segment and the packet header contains a source address identifying the computer sending a message and a destination address identifying the computer for which the message is intended. The IP layer also determines the physical address of the destination computer or an intermediate computer, in some cases, which is intended to receive the transmitted message.
The packet and the physical addresses are passed to a datalink layer. The datalink layer typically is part of the program implemented by a processor on the communication card and it encapsulates the packet from the IP layer in a datalink frame which is then transmitted by the hardware of the communication card. This datalink frame is typically called a packet.
At the destination computer, the communication card implements the electrical specification of a hardware communication standard, such as Ethernet, and captures a data message from a source computer, with the word “message” henceforth including the data entities packet and datalink frame. The datalink layer at the destination computer discards the datalink header and passes the encapsulated packet to the IP layer at the destination computer.
The IP layer at the destination computer verifies that the packet was properly transmitted, usually by verifying a checksum for the packet. The IP layer than passes the encapsulated TCP segment to the transport layer at the destination computer. The transport layer verifies the checksum of the TCP message segment and the sequence number for the TCP packet. If the checksum and TCP sequence number are correct, data from the segment is passed to an application program or service at the destination computer.
Modern information networks, e.g. the Internet, use servers to store documents. In the World Wide Web (web), these documents are addressed by uniform resource locators (URLs). URLs specify the protocol by a prefix in the URL, such as http:// for Hyper Text Transfer Protocol, the host in the Internet where the document is stored, and the address of the document within the host. The Web is thus not a single protocol, but a combination of several protocols united by a common addressing scheme, i.e. the URL.
The tremendous continuing growth of the Web makes it necessary to have intermediate servers which perform caching (store documents locally, such that the documents may be quickly accessed from the local file system, instead of being retransferred again from the original server. Such servers (see, for example A. Luotonen, K. Atlis, World Wide Web Proxies, Proceedings of First International World-Wide-Web Conference, Geneva 1994) are referred to as caching proxy servers, or proxies for short. See, also A. Chakhuntod, P. Danzig, C. Neerdaels, M. Schwartz, K. Worrell,A Hierarchical Internet Object Cache, USENIX 1996 ANNUAL TECHNICAL CONFERENCE, http://usenix.org/publications/library/proceedings/sd96/danzig.html). Proxies reduce network load, and shorten response times to the user.
The operation of a prior art proxy server 10 can best be seen in FIG. 1, and as such, will be discussed with reference thereto.
When a client 12 requests a new document from the proxy server 10, the proxy server 10 copies the document from the origin server 14 to its local file system in addition to sending the document to the client 12. When another requests comes for the same document, the proxy server 10 returns the document from the cache 16, if the cached copy is still up to date. If the proxy server 10 determines that the document may be out of date, it performs an up-to-date check from the remote origin server 14 and refreshes the document, if necessary, before sending it to the client 12.
Numerous innovations for network related systems have been provided in the prior art that will be described. Even though these innovations may be suitable for the specific individual purposes to which they address, however, they differ from the present invention.
A FIRST EXAMPLE, U.S. Pat. No. 5,463,735 to Pascucci et al. teaches a network system having a wide variety of applications and particularly applicable to facilities management systems that includes network controllers which continuously process data related to building and industrial, environmental, security and other automated system controls. Each network controller has a network address indicative of a communication link to which the network controller is connected, a local address and a node drop ID to determine whether the network controller is a configured or non-configured device. Data stored in an archive device is downloaded to a destination network controller in the absence of a routing table in the destination network controller by transmitting a download request message from the archive device to an intermediate network controller with a routing table. The intermediate network controller assumes control of the download request by transmitting the message to the destination controller. The destination controller acknowledges receipt of the message by transmitting an acknowledge message back to the intermediate network controller, which passes the acknowledge message to the archive device in accordance with the routing information stored in the intermediate network controller. Thus, as certain network controllers are connected, disconnected or disabled during the operation of the network, the control of a process is not interrupted. Additionally, the network controllers are not configured to store large amounts of routing data because a path to a device can be established through other controllers with routing information.
A SECOND EXAMPLE, U.S. Pat. No. 5,727,159 to Kikinis teaches a system wherein relatively low-end-computers, such as portable, battery-powered computers ordinarily incapable of Internet browsing functions may be used to browse the Internet. The enhanced computing ability for such portables is provided by a unique arrangement having a Proxy-Server with adequate computing power for all World Wide Web (WWW) browsing and downloading functions, and further capable of transposing downloaded files to alternative, low-information-density form suitable for rapid processing and display by connected portable and other low-end computers. In some embodiments the data link from the connected low-end units is a TCP/IP pipe, supporting TCP/IP protocol, but not the many sophisticated extensions usually associated with TCP/IP. In embodiments wherein battery-powered units are used, connected to the Proxy-Server, battery life is exhibited far beyond what would be expected for a battery-powered computer with computing power for browsing the Internet directly.
A THIRD EXAMPLE, U.S. Pat. No. 5,754,857 to Gadol teaches a system and method for automating workflow by distributing the tasks required for the execution of said workflow over servers and clients connected on a network. The disclosed system and method allow the stages of the workflow to be performed asynchronously, meaning that, once a workflow initiated by a user has been initiated by a database server, the stages of the workflow can be executed on respective network clients without further interaction with the server (i.e. without requiring a stateful connection between the clients and servers). This is accomplished through the use of a workflow courier that embodies all programs (encompassing rules governing the execution of the workflow) and forms needed by clients to complete stages of the workflow. The workflow courier also stores workflow state information that indicates which stages of the workflow have been completed. The executable programs are written in the platform-independent Java programming language and are therefore executable on any computer that has an installed Java browser. After each stage is executed, the client executing that stage updates the workflow courier and transmits the updated workflow courier to a client having an associated user who is authorized to perform the next step in the workflow. The updated state information indicates to the recipient of the workflow which stages remain to be completed.
A FOURTH EXAMPLE, U.S. Pat. No. 5,862,344 to Hart teaches apparatus and methods for providing processing system network connectivity, and more particularly, for routing data packets between at least two processing system networks. A first memory for storing at least one address for each of the networks, and a second memory for storing selectively at least one address for particular ones of the networks, are provided. A control circuit for routing a received data packet from a source network to a destination network is also provided. The control circuit utilizes a destination address which was retrieved from one of the first memory and the second memory, in response to a determination as to whether at least one address corresponding to the destination network is stored in the second memory.
A FIFTH EXAMPLE, U.S. Pat. No. 5,864,852 to Loutonen teaches a proxy server, wherein variable length URLs are digested and thereby homogenized, such that each URL is converted to a URL fingerprint that has a unique identity and a same fixed size. The URL fingerprint is used to map the URL to a proxy server cache directory structure. A unique file name may also be generated from the URL fingerprint for each URL. The same bits are used in the file name, such that any given file can be remapped later to a directory structure that had been expanded or collapsed, so that the first bits are not unique to a particular hierarchy. A unique cache information file is included in the directory to store document-related information for each other file in the directory for quick access. Accordingly, the invention provides an addressing and cache organization scheme that allows quick access to documents that contain all the relevant information for each of the URLs.
A SIXTH EXAMPLE, U.S. Pat. No. 5,892,903 to Klaus teaches a system and method for detecting security vulnerabilities in a computer network. The system includes an IP spoofing attack detector, a stealth port service map generator, a source port verifier, source routing verifier, an RPC service detector and a Socks configuration verifier. Each of these verifiers make be operated separately or as a group to detect security vulnerabilities on a network. Each verifier may be programmed to exhaustively test all ports of all computers on a network to detect susceptibility to IP spoofing attacks, access to services with little or no authorization checks or misconfigured routers or Socks servers. The detected vulnerabilities or the location of services having little or no authorization checks may be stored in a table for reference by a network administrator. The service map generated by the stealth service map generator may be used to identify all service ports on a network to facilitate the operation of the other verifiers which send service command messages to service ports to detect their accessibility. A graphic user interface (GUI) may be used to provide input and control by a user to the security verifiers and to present options and display information to the user.
A SEVENTH EXAMPLE, U.S. Pat. No. 5,913,040 to Rakavy et al. teaches methods and apparatus for selecting advertisements and other information from a computer network database based on user defined preferences and transmitting the selected advertisement in background mode over a communications link between the computer network and a local computer with minimal interference with other processes communicating over the communications link. This method includes monitoring the communications link and transmitting portions of the advertisement when the communications link line utilization is below a preestablished threshold. Methods and apparatus are also provided for displaying or otherwise presenting the selected advertisements on the user's computer. Additional methods and apparatus are provided for selecting and presenting information stored on a local storage media based on user defined preferences.
It is apparent that numerous innovations for network related systems have been provided in the prior art that are adapted to be used. Furthermore, even though these innovations may be suitable for the specific individual purposes to which they address, however, they would not be suitable for the purposes of the present invention as heretofore described.